<%
'**********
'	class		: Chinese Validate Code
'	File Name	: getcode_chs.asp
'	Version		: 0.1.0
'	Updater		: TerranC
'	Date		: 2008-5-17
'**********
Call Com_CreatValidCode("SessionName")
Rem 生成验证码图片

Sub Com_CreatValidCode(pSN)
    Const codeLen = 4'验证码位数
    Const cOdds = 4 '杂点出现的机率
    Const dbtTimes = 1'干扰次数（安全考虑，最好不要小于2）

    Const cAmount = 85 '字库数量
    Const cCode = "好一路阳光子无开月了的比小山古天中石头井火大西木开人也叶九七六五合文只个鱼羊哈么点四生件格不步布各你田红蓝来很春下画京左百白东关工共足方尺才梦见查着去区曲寻早可上丰爱呵刘"'字库对应的字符
    Const UnitWidth = 28'字宽(要为4的倍数)
    Const UnitHeight = 28'字高
    Const DotsLimit = 2'每次删除有效点的上限(避免无法人为识别)
    Const tryCount = 2'避免删除有效点超过上限的尝试次数限制

    '-----------

    Randomize
    Dim i, ii, iii

    ' 禁止缓存
    Response.Expires = -9999
    Response.AddHeader "Pragma", "no-cache"
    Response.AddHeader "cache-ctrol", "no-cache"
    Response.ContentType = "Image/BMP"

    ' 颜色的数据(字符，背景)
    Dim vColorData(1)
    vColorData(0) = ChrB(0) & ChrB(0) & ChrB(0) ' 蓝0，绿0，红0（黑色）
    vColorData(1) = ChrB(213) & ChrB(213) & ChrB(213) ' 蓝250，绿236，红211（浅蓝色）

    ' 字符的数据(可以自己修改，如果修改了尺寸，记得把前面的设定也改了)
    Dim vNumberData(85)
    vNumberData(0) = "1111111111111111111111111111111111101111111111111111111111111100011111000000000000111111110001111100000000000011111111001111111111111100001111111100111111111111100001111100000000001111111100011111110000000000011111100011111111111001111001111100011111111111100111100111110001111111111110011110011111100011111111111001111001111111001111111111001111001100000000000011111100111100110000000000000111110011110011100000000000111110001111001111111111001111111000111001111111111100011111110000100111111111110001111111100000111111111111000111111111100011111111111100011111111100000011111111110001111111100011000111111111000111111000011110110001111000111110000111111111000000000011111100111111111111000000111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(1) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000111000000000000000000000000001110000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(2) = "1111111111111111111111111111111111111111111100111111111111000000001111100011111111111100000000011110000000000111110011110001111000000000001111001111100111000111111001111100111110011000011111100111110011111001000000111110011111001111100100110011110011111100111100011111000110011111110000000001111110000001111111100000001111111000001111111111100011111111000000011111111110001111100000110000001111111000111100001111110000011100100011110000111111100011110010000001110000000000011111001000000111000000000001111100100011111100111111100111110010001111110011111110011111001000111111001111111001111100100011111100111111100111110010000000110011111110011110000000000011001111110001111000000011111100000000000111111111111111110000000000111111111111111111111111111111111111111111111111111111111111"
    vNumberData(3) = "1111111111111111111111111111111111111111111111111111111111000000001111110000000111111100000000011100000000000111110001110001110000000000011111001111001110001111111001111100111100111000111111100111110011110011100011111110011111001110001110001111111001111100111001111000111111100111110011100111100011111110011111001110011110001111111001111100111100111000111111100111110011110011100000000000011111001111100110000000000001111100111110011000111111100111110011111001100011111110011111001111100110001111111001111100111110011000111111100111110000110001100011111110011111000000001110001111111001111100000001111000111111100111110011111111100011111110011111001111111111000000000001111100111111111110000000001111110011111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(4) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111100111111001111110011111111110001111100111110001111111111100111110011111000111111111110001111001111100111111111111000111100111100011111111111110011110011110011111111111111111111001111111111111111111111111100111111111111111000000000000000000000000111100000000000000000000000011111111111000111100011111111111111111100011110001111111111111111110001111000111111111111111111000111100011111111111111111100011110001111111111111111110011111000111111111111111111001111100011111101111111111000111110001111100011111111000111111000111110011111111000111111100011111001111100000111111110001111100111000000111111111100000000011100011111111111111000000011111111111111111111111111111111111111111111111111111111111"
    vNumberData(5) = "1111111111111111111111111111111111111111111111111111111111111000000000000000000111111111000000000000000000001111111110000000000000000000111111111111111111111110000111111111111111111111110001111111111111111111111100001111111111111111111111000011111111111111111111111000011111111111111111111111000011111111111111111111111110001111111111111111111111111000111111111111110000000000000000000000001111000000000000000000000000111111111111111110001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100011111111111111111111111110011111111111111111111111111001111111111111111011111111000111111111111111000001111000111111111111111110000000000111111111111111111110000000111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(6) = "1111111111111111111111111111111111111111111111111111111111110000000000000000000011111110000000000000000000000111111100000000000000000000111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111110000000000000000000000001111000000000000000000000000111111111111110010011111111111111111111111001001111111111111111111111000100111111111111111111111100110011111111111111111111110011001111111111111111111110011100111111111111111111110001110011111111111111111111001111001111111001111111111000111100111111100111111111000111110011111110011111110000111111001111111001111110000111111100011111000111100001111111111000000000111110001111111111110000000111111111111111111111111111111111111111111111111111111111111"
    vNumberData(7) = "1111111111111111111111111111111111111111111111111111111111110000000000000000000001111110000000000000000000000111111100000000000000000000111111111111000111111000111111111111111100011111100011111111111111110001111110001111111111111111000111111000111111111111111100011111100011111111111111110001111110001111111111111111000111111000111111111100000000000000000000000011110000000000000000000000001111100000000000000000000001111111111100111111100011111111111111110011111110001111111111111111001111111000111111111111111100111111100011111111111111100111111110001111111111111110011111111000111111111111110011111111100011111111111110001111111110001111111111110001111111111000111111111100001111111111100011111111110001111111111111001111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(8) = "1111111111111111111111111111111111110000000000000111111111111100000000000000001111111111110000000000000000011111111111001111111111111001111111111100111111111111100111111111110011111111111110011111111111001111111111111001111111111100000000000000000111111111110000000000000000011111111111000000000000000001111111111100111111111111100111111111110011111111111110011111111111001111111111111001111111111100111111111111100111111111110000000000000000011111111111000000000000000001111111111100000000000000000111111111110011111111111110011111111111001111111111111001111111111000111111111111100111111111100011111111111110011111111100011111111111111001111111100001111111111111000111111100001111111110000000011111110001111111111000000011111111111111111111111101111111111111111111111111111111111111"
    vNumberData(9) = "1111111111111111111111111111111111111111111111111111111111111000000000000000000111111111000000000000000000000111111100000000000000000000011111111111111111111111000011111111111111111111110000111111111111111111111110000111111111111111111111100001111111111111111111111100001111111111111111111111100011111111111111111111111110001111111111111111111111111100011111111111111111111111111000111111111111111111111111110011111111111111111111111111000111111111111111111111111110011111111111111111111111111001111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100111111111111111000111111000011111111111111100000000000011111111111111111100000000011111111111111111111100000111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(10) = "1111111111111111111111111111111111001111111100111111111111111100111111110011111111111111110011111111001111111111111110001111111100000000111111000000000011110000000000111100000000000110000000000011110001111100011001111111001111000111110001000111111100111100011111000100111111110011110001111100011111111111001111000111110001111111111100111100011111000111100111110011110001111100011110011111001111000000000001111000111100111100000000000111110011110011110001111100011111000111001111000111110001111110011100111100011111000111111001110011110001111100011111111111001111000111110001111111111000111100011111000111111111100011110001111100011111111110011111000000000001110001110001111100000000001111000000000111111000000001111100000000111111111111111111111111111111111111111111111111111111111111"
    vNumberData(11) = "1111111111111111111111111111111100111111111001111111111111110011111111100111111111111111001111111110011111111111111100111111111001111111111111110011111111100111111101111111001111111110011111100011111100000000111001111000011111110000000001100100000111111111000000000110000001111111111100111111111000011111111111110011111111100111111111111111001111111110011111111111111100111111111001111111111111110011111111100111111111111111001111111110011111111111111100111111111001111111111111110011111111100111111111111111001111111110011111111111111100111111111001111111001111110011111111100111111100111111001111100110011111110011111100011000011000111111001111110000000011100000000000111111000000111111000000000111111110011111111111100011111111111111111111111111111111111111111111111111111111111111"
    vNumberData(12) = "1111111111111111111111111111111111111111100111111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111100111110001111001111111111110011111000111100111111111111001111100011110001111111111000111110001111100111111111100111111000111110011111111110011111100011111100111111110001111110001111110011111111001111111000111111000111111000111111100011111110011111100111111110001111111001111100011111111000111111100111110011111111100011111110001111001111111110001111111100111111111111111000111111110111111111111111100111111111111111111111011100011111111111111111111000000011111111111111111111100000011111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(13) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111011111111001111111111111111000111111100111111110111111100011111110011111110001111110001111111001111111000111111000111111100111111100011111100011111110011111110001111110001111111001111111000111111000111111100111111100011111100011111110011111110001111110001111111001111111000111111000111111100111111100011111100011111110011111110001111110001111111001111111000111111000111111100111111100011111100011111110011111110001111110001111111001111111000111111000111111100111111100011111100000000000000000000001111111000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(14) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111100000000000000000000000011100000000000000000000000000111000000000000000000000000111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111000000000000000000111111111000000000000000000001111111100011111111111111000111111110011111111111111100011111111001111111111111110001111111100111111111111111000111111110011111111111111100011111111001111111111111110001111111100111111111111111000111111110000000000000000000011111111100000000000000000011111111111000000000000000011111111111111111111111111111111111111111111111111111111111111"
    vNumberData(15) = "1111111111111111111111111111111111111111111111111111111111110000000000000000000011111111000000000000000000001111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111110000000000000000000000001111000000000000000000000000111111111111110001111111111111111111111111000011111111111111111111111100001111111111111111111111100000111111111111111111111110011001111111111111111111110001100111111111111111111111001111001111111111111111111000111110011111111111111111000111111000111111111111111000111111110001111111111110000111111111100001111111100001111111111111100011111100001111111111111111000011110011111111111111111110001111111111111111111111111111111111111111111111111111111111"
    vNumberData(16) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111000000000000000000001111111000000000000000000000011111100011111110011111110001111110011111111001111111100111111001111111100111111110011111100111111110011111111001111110011111111001111111100111111001111111100111111110011111100111111110011111111001111110001111111001111111000111111000000000000000000000011111110000000000000000000011111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(17) = "1111111111111111111111111111111111111111111111111111111111000000000000000000000000111100000000000000000000000011111111111111000111111111111111111111111100111111111111111111111111100011111111111111111111111110011111111111111111111111110011111111111111111111111110001111111111111111111111110001111111111111111111111110000000000000000111111111111000000000000000000111111110000000000000000000011111110000001111111111111001111110001000111111111111100111100001100011111111111110011110001110001111111111111001111111111000111111111111100111111111100011111111111110011111111110001111111111111001111111111000111111111111100111111111100011111111111100011111111111000000000000000001111111111100000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(18) = "1111111111111111111111111111111111011111100111111111111111111000111110001111111111111111110000111000111111111111111111110001100011111111111111111111100010001111111111111110011111011000111111111111111000111111100011111111111111110000111110001111111111111111100001111000111111111111111111100011100011111111111111111111001110001111111111111111111111111000111111111111111111111111100011111111111111000000000000000000000000111100000000000000000000000011111111111111100111111111111111111111111110011111111111111111111111110011111111111111111111111110001111111111111111111111110001111000111111111111111110001111100000111111111111000001111111100001111111000000001111111111100001111000000111111111111111000011110111111111111111111111001111111111111111111111111111111111111111111111111111111111"
    vNumberData(19) = "1111111111111111111111111111111111110011111111001111111111111111001111111000111111111111111100111111100011111111111111110011111110001111111111111111001111111000111111111100000000000000000000000111111000000000000000000000011111111111001111111000111111111111111100111111100011111111111111110011111110001111111111111111001111111000111111111111111100111111100011111111111111110011111110001111111111111111001111111000111111111100000000000000000000000011110000000000000000000000001111111111001111111000111111111111111100111111100011111111111111100111111110001111111111111110011111111000111111111111110011111111100011111111111110001111111110001111111111100001111111111000111111111100001111111111100011111111110011111111111111001111111111111111111111111101111111111111111111111111111111111111"
    vNumberData(20) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111011111111001111111101111111000111111100111111100011111110011111110011111110001111111000111111001111111001111111100011111100111111100111111111001111110011111100011111111100111111001111110001111111110001111100111111001111111111000111110011111000111111111110011111000111100011111111111001111000011110011111111111111111100001111111111111111111111110000011111111111111111111110001001111111111111111111111001110011111111111111111111001111000111111111111111111000111110011111111111111111000111111100011111111111111000111111111000111111111110000111111111110001111111100000111111111111100001111000001111111111111111000011100001111111111111111111000111111111111111111111111110111111111111111111111111111111"
    vNumberData(21) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111110000000000000000000000001111000000000000000000000000111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111110000111111111111111111111111000011111111111111111111111100001111111111111111111111110000011111111111111111111110011001111111111111111111110001110011111111111111111111001111000111111111111111111000111110011111111111111111000111111100111111111111111000111111111000111111111110000111111111110001111111110000111111111111100011111100001111111111111111000011100001111111111111111111000111111111111111111111111110111111111111111111111111111111"
    vNumberData(22) = "1111111111111111111111111111111111111111111111111111111111000000000000000000000000111100000000000000000000000011111111111100111100111111111111111111110011110011111111111111111111001111001111111111111111111100111100111111111111111000000000000000000111111111000000000000000000001111111100011100111100111100011111100011110011110011110001111110001111001111001111000111111000111100111100111100011111100011100111110011110001111110001110011111001111000111111000110011111100011100011111100000001111110000000001111110000001111111100000000111111000011111111111111100011111100011111111111111110001111110001111111111111111000111111000111111111111111100011111110000000000000000000001111111000000000000000000001111111111000000000000000001111111111111111111111111111111111111111111111111111111111111"
    vNumberData(23) = "1111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111100000000000000000000001111100000000000000000000000011111000000000000000000000011111111111111110011111111111111111111111110000111111111111111111111111000011111111111111111111111000000111111111111111111111000000001111111111111111111000100000011111111111111111000110011000111111111111111000111001110001111111111111000111100111100011111111111000111110011111000111111110000111111001111110001111110000111111100111111100001110001111111110011111111000011101111111111001111111111011111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(24) = "1111111111111111111111111111111111111111111111111111111111110000000000000000000001111110000000000000000000000111111100000000000000000000111111111111000111111000111111111111111100011111100011111111111111110001111110001111111111111111000111111000111111111111111100011111100011111111111111110001111110001111111111111111000111111000111111111100000000000000000000000011110000000000000000000000001111100000000000000000000001111111111100111111100011111111111111110011111110001111111111111111001111111000111111111111111100111111100011111111111111100111111110001111111111111110011111111000111111111111110011111111100011111111111110001111111110001111111111110001111111111000111111111100001111111111100011111111110001111111111111001111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(25) = "1111111111111011111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111110000111111111111111111111111000011111111111111111111111100001111111111111111111111110000111111111111111111111110001001111111111111111111111001100111111111111111111111100111001111111111111111111100111100111111111111111111110011111001111111111111111110011111100011111111111111110001111111001111111111111110001111111110011111111111110001111111111100111111111110001111111111110001111111110001111111111111100011111100001111111111111111000011110001111111111111111111001111111111111111111111111111111111111111111111111111111111"
    vNumberData(26) = "1111111111111111111111111111111111111111100111111111111111111111111110001111111111111111111111111000111111111111111111001111100011111111111111111100111110001110000111111111110011111000000000011111111111001111100000000000111111111100100000001111100011111111110000000000111110001111111000000011100011111000111110000000111110001111100011111100110011111000111110001111111111001111100011111001111111111100111110001111000111111111110011111000110000011111111111001111100010000011111111111100111110001100111111111111110011111000111111111111111111001111100111111111001111111100111111111111111100111111110011111111111111110011111111000111111111111111001111111100000111111111100000111111111000000000000000000111111111111000000000000001111111111111111111111111111111111111111111111111111111111111"
    vNumberData(27) = "1111111111111111111111111111111111111111111111001111111111111111111111111100111111111110000001111111110011111111110000000111111111001111111111001110011111111100111111111100111001111111110011111111110011100111111111001111111111001110011111111100111111111100111001100000000000000011110011100110000000000000001111001110011111111100111111111100111001111111110011111111110011100111111111001111111111001110011111111100111111111100111001111111110011111111110011100111111111001111111111001110011111111100111111111100111001111111110011111111110011100111111111001111111111001110011111111100111111111100000001111111110011111111111000001111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(28) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100111111111111111111111111110001111111111111111111111111000110011111111111111110000000000001111111111111111011111011100111111111111111111111101110111111111111111111111100111011111111111111111111110011101111111111111111111111011110111111111111111111111001111011111111111111111111001111100111111111111111111001111110001111111011111100001111111100000000011111000011111111111000000001111111111111111111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(29) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111001111111111111111111111111100111111111111111111111111100111111111111111111111111110011111111111111111111111111000000000000000111110000000000111111100000111110001111110011111111111111111011111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111011111111111111110011111111001111111111111111100000000001111111111111111111000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(30) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111111111111111111111111000011111111111111111111111110001111111111111111111111111000111111111111111100000000000000000000001111100000111111111100000000111101111111111111111111110111111111111111111111111111111111111111110111110011111111111111111111001111001111111111111111111001111110011111111111111111001111111100111111111111111011111111111001111111111110111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(31) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111110000000000000000011111111111111111110011111111111111111111111111001111111111111111111111111101111111111111111111111111100111111111111111111111000000001100011111111111111111110011111001111111111111111111001111100111111111111111111101111110011111111111111111100111111001111111111111111100011111100111111111110000000000000000000000011110000111111111111100000011111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(32) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111111111111111111111110001111111111111111111111111001011111111111111111111111011110011111111111111111110011111110001111111111111100011111111110000111111110000111000000111100000011110001111111111111111100011111111111111111111111111011111111111100000000000011111111111111110111111111001111111111111111011111111100111111111111111101111111110011111111111111110011111111011111111111111111000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(33) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000111111111111111111111111100011111111111111111111111110000011111111111111100000001111111100011111111111111111111101111111111111111111111111100111111111111111111110001110011111111111111111111111011001111111111111111111111110001111111111111111111111111100011111111111111111111111100000011111111111111111111000111000011111111111111110001111111000000111110000000011111111110000000111100001111111111111100000111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(34) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000111111111111100011111111110011111111111111001111111111001111111111111100111111111100111111111111110011111111110011111111111111000000000000001111111111111110001111111000111111111111111111111111111111111111111111111101111100111111111111111111001111110001111111111111100011111111100011111111100000011111111111000011111111000111111111111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(35) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111111111000111111111111111111111111000011111111111111111111111001111001111111111111111110001111111000011111111111000011110011110000000111100000111111001111110000011111011111111100111111100011111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(36) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111111111111111111111100111000111111111111111110001111100011111111111111000111111110111111111111111111111111000000000011111111111110011110001111101111111111111001111000111110111111111111100000000000000011111111111110011110001111001111111111111101111000111100111111111111110000000000000011111111111111111111111111111111111111111111000000000001111111110000011111111111000000001111111111111111111111110011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(37) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111110111111111111111111101111110111111111111111111111011111011111111111111100000000000000001111111111111111111100111111111111111111111111110011111111111111111111000111001111111111111111111111111100111111111111111111111111110011111111111111111000000000000000000000011111000111111100111110000001111011111111110011111111011111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(38) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111111111111111111111110011111111111111111111111111000111111111111100000001111001100111111111110011100111001111000111111111011110011001111110000011111100111000011111111110000011110011100111100000011100001111100000111111111111111001111111111111111111111111111111111111111110000000000111111111111111111001111110011111111111111111100111111001111111111111111110011111100111111111111111111100000000111111111111111111110111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(39) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111111111001111111111111111111111111100111111111111111111111111100111100111111111111111111110111100011111111111111111110111110011111111111111111110011110011111111111111111110011110011111111111111111110011111011110111111111111000011111011111001111111110000011111011111110011111111100111111011111111100111111111111110001111111100001111111111110000000000111110111111111111101111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(40) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111101111000111111111111111111100000000000000011111111111111011111111111101111111111111101111111111110111111111111110011111111110011111111111111000011111110011111111111111111111111111111111111111111101110111101111011111111111101111011110011110011111111001111111111101111100011111011111101111111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(41) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000001000111111110000011000100000000011111111001111101110111111001111111100111110111011111100111111111011111011101111110011111111101111001110111111001111111110111101111001111100111111111000001111110000110011111111100111111111111111001111111110011111111111111100111111111000000000000000000111111111100001111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(42) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111110111100111111111111111111111001110011111111111111111111101111001111111111111111111100000000000000011111111111110111110011111111111111111110111111001111111111111111111111111100111111111111111111110000000000000001111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111000000000000000000000011110000001111111110000000001111011111111111111111100001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(43) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111100111101100111111111111000001111101110011111111111100000111100000000000111111111111011101111100111111111111111101111111110011111111111111100111111111001111111111111110011000000000000000001111111001011111110011111001111111100111111111001111111111111110011111111100111111111111111001111111110011111111111111100111111111001111111111111110011111111100111111111111111011111111110011111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(44) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111111111111100111111001111111111111111110011111000111111111111111111001111101110001111111111000000001100111001111111111011110011111101101111111111111111001111111000111111111111111000011111100001111111111111000010111001110001111111111001001111001111100000111111001100100001111111000011110001110011110000000011111111011111001111011111101111111111111100111101111110111111111111110011110011110011111111111111011111000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(45) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111011111111100000010000100000001111111111111111100111111111111111111111111110111111111111111111111111110011111111111111111111111110001101111111111111111111110000111011111111111111111110010011110111111111111111100111001111100111111111111000111100111111000111111110001111110011111110000111100011111111001111111100111111111111111100111111111111111111111111110011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(46) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111111111100111111111111111111110001110001000011111111111111110111001111111111111111111111011100111111111111111110000000000000000000000111110001111111001111111100111111111111111100111111111111111111111110110011110011111111111111100111001110001111111111111101111101110001111111111111111111111100011111111111111111111111000111111111111111111111100011111111111111111110000000111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(47) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111111111100111111111111111110000000000000000000000111110001111110011111100000111111111111111011011111111111111111111111011100111111111111111111111000000000001111111111111110000111001110011111111111100010011100111001111111110000111001110011100111111110001111100111001110011111111111111110011100111001111111111111111001110011100111111111111111001111001110011111111111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(48) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110001111111111111111111111110000000011111111111111111110011110000111111111111111100001111001111111111111110001111011001111111111111111111111110000111111111111111111111110011000111111111111111111100111111000111111111111110001111111110000000111110000101111111111000000011111111110000000000001110111111111111001111111110111111111111111100111111111011111111111111110011111111001111111111111111000000000000111111111111111100111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(49) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011101111111111111111111110011100111111111111111110000011110010000010011111100000011110001111111001111111011101110011111111110111111111110110111110011111011111111110011111111001111101111111111001111100100110111111111111100111110110011001111111111110011110011001110111111111111001111011100111101111111111100111011110011111011111111110011011111001111110111111111001111111100111111111111111100111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(50) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000001111111111000000000000000000011111111100111111001111111001111111110011111100111111100111111111001111110011111110011111111100111111001111111011111111111000000000000000001111111111101111110011111100111111111110111111001111111011111111111011111100111111101111111111101111110011111100111111111110000000000000000011111111111001111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(51) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100111111111111111111111111110011111111111111111111111100111111000000111111111111100111111000000000011111111001111101111100111111111111100111001111110011111111111110111001111111001111111111111111011111111110111111111111111011100111111011111111111111000011111111001111111111111101111111111100111111111111111111000111110011111111111110000011100000000000000001110001111100011111110000001111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(52) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110011111001111111111111110111001111100111111111111110000000000000000000111111111111110011111001111111111111111111101110011111111111111111110110011000000001111111111111011001011011111111111111111101101111110111111111111111111110111111111111111111111111100000000000011111111111111110110111011101111111111111111011011101110111111111111111101101110110011111111110000000000000000000000001111000111111111111111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(53) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111111111111111111111100111111111111111111110000000000000001111111111111111111001111111111111111111111011100111011111111111111111110110011011111111111111110111101001011111111111111110000001000010000111111111111111111100001111111111111111111111001001100111111111111111110001100111000111111111111000011110011111000011111100000011111001111110000011110001111111100111111100001111111111111110011111111011111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(54) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000001111111111100001110001111110011111111110011111101111111001111111111111111110000000000111111111111100111011111110011111111111000111101111111001111111100000011110000000000111111110001001111011111111111111111111100111101111110011111111111110011110111100111111111111111001111011111001111111111111100111001111110001111111111110011100111011100000011111111001110000011111100001111111100111000111111111001111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(55) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111001111111111111111111100000000000000111111111111111111110011111111111111111111000000000000001111111111111111111001111111111111111111110000000000000000111111111111111001111101111111111111111111101111111011111111111111111000111111100011111111111100000011111100000001111110000111001000001001000000111111111100100000000110000011111111110011111110011110111111111111001111111001111111111111111100000000000111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(56) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000011111100111111100011111000011111111111111110001111111111111111111111111000111111111111111111111111100000111111111111111111111110001101111111111111111111111000111011111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111100111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(57) = "1111111111111111111111111111111111111111111111111111111111111111111111111111110011111110000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100011000000000000111011111110011100111001110011100111111001110011100111001110011111100111001110011100111001111110011100111001110011100111111001110011100111001110011111100111000000000000111001111110011100111001110011100111111001110011100111001110011111100111001110011100111001111110011100111001110011100111111001110011100111001110011111100111000000000000111001111110011101111111111111100111111001111111111111111110011111100111111111111111111001111110000000000000000000000111111111111111111111111110011111111111111111111111111111111111111111111111111111111111"
    vNumberData(58) = "1111111111111111111111111111111111111111001111111111111111111111111110011111111111111111111111111000111111111111111111111111100011111110011111100000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111000000000000000011111111111100111111111110011111111111110011111111111001111111111111001111111111100111111111111100111111111110011111111111110011111111111001111111111111000000000000000011111111111111111110011111111111111111111111111001111111111111111111100011100111011111111111111110011110011110001111111111110011111001111100011111111110111111100111111000111111110111111110011111100011111111111111110001111111001111111111111110000111111111111111111111111000111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(59) = "1111111111111111111111111111111111111101111111111111111111111111110000111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111101111111000000000000000000000011111111111110011111111111111111111111110001111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111110011111111111011111111111111000000000000000111111111111100111110001111111111111111100111111001111111111111111110111111100111111111111111111011111110011111111111111111011111111001111111111111111011111111100111111111111111011111111110011111111111111111111111111001111111111111111111111111100111111111111111100000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(60) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111101111110000000000000000000000011111111111111000011111111111111111111111100011111111111111111111111110001111111111111111111111111001111111111111111111111111101111111111111111111101111110111111101111111111110000000000000000001111111111100111111111111000111111111110011111111111100011111111111001111111111110001111111111100111111111111000111111111110011111111111100011111111111001111111111110001111111111100111111111111000111111111110000000000000000011111111111001111111111110001111111111100111111111111000111111111110011111111111100011111111111001111111111110001111111111100111111111111000111111111100000000000000000011111111111001111111111110111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(61) = "1111111111111111111111111111111111111111111111111111111111111111111000111111111111111111111111100111111111111111111111111100011111111111111111111111110011111111111111111111111111011111111111111111111110011100000000000000111111111000111111111111100011111111100011111111111110011111111110001111111111111001111111111000111111111111100111111111100011111111111110011111111110001111111111111001111111111000111111111111100111111111100000000000000000011111111110001111111111111001111111111000111111111111100111111111100011111111111110001111111110001111111111111000111111111000111111111111100011111111100011111111111110001111111110001111111111111000111111111000000000000000000011111111100111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(62) = "1111111111111111111111111111111111111110011111111111111111111111111000011111111111111111111111100111111111111111111111111100011111111110111111110000000000000000000001111111111110001111111111111111111111111001111111111111111111111111000111111111111111111111111000111000111111111111111111100111100011111111111111111100011110001111111111111111110011111000111111111111111110001111100011111110111111111000000000000000000001111111111111111000111111111111111111111111100011111111111111111110011110001111111111111111111000011000111111111111111111100111100011110011111111111100111110001111100111111111100111111000111110001111111110111111100011111100011111111111111110001111110001111111111111010000111111101111111111111111000111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(63) = "1111111111111111111111111111111111111111111111111111111111111110111111110001111111111111111100111111000111111111111111110001111100111111111111111111000111110011111111111111111100011111011111111111111111111011111111111001111111110000000000000000000011111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111110111111100000000000000000000001111111111111100011111111111111111111111110001111111111111111111111111001101111111111111111111111100111111111111111111111111100011101111111111111111111110011111001111111111111111110011111110001111111111111110011111111000000111111111110011111111110000001111111110111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(64) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111001111111100000000000000000000011111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111011111100000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(65) = "1111111111111111111111111111111111111111111111111111111111111111100111110001111111111111111110011111000111111111111111111001111100011111111111111111100111110001111111111111111110011111000111001111111000000000000000000000011111111111100111110001111111111111111110011111000111111111111111111001111100011111111111111111100111110001111111111111111110011111000111111111111111111001111100011111111111111111100111110001111111111111111110011111000111100111111000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111000111111011111111111111111000011111110001111111111111100111111111100011111111111100111111111111000111111111001111111111111100001111111011111111111111111000111111111111111111111111110111111111111111111111111111111111111111111111111111111111111"
    vNumberData(66) = "1111111111111111111111111111111111111111111111111111111111111100000000000000011111111111110011111111111001111111111111001111111111100111111111111100111111111110011111111111110011111111111001111111111111001111111111100111111111111100111111111110011111111111110000000000000001111111111111001111000111101111111111111111111100011111111111111111111111110001111111111111111111100011000111111111111111111100011100011111011111111111110000000000000000111111111111001111000111111111111111111100111100011111111111111111100011110001111111111111111110011111000111111111111111111011111100011111111111111111011110110001111111111111111101111100000111111111011111111111111100000000000000011111111111111000000000000111111111111111111111100001111111111111111111111111111111111111111111111111111111111111"
    vNumberData(67) = "1111111111111111111111111111111111111111111111111111111111111111111100111111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111011111111000000000000000000000111111111111111111111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111001111111111111111100000000000011111111111111110011111110001111111111111111001111111000111111111111111000111111100011111111111111100111111110011111111111111110011111111001111111111111111001111111100111111111111111001111111110011111111111111101111111110001111111111111101111111111000111111111111101111111111100111111111111101111111100000011111111111111111111111000011111111111111111111111100111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(68) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111001111111111111000000000000000011111111111100111111111110001111111111110011111111111000111111111111001111111111100011111111111100111111111110001111111111110011111111111000111111111111000000000000000011111111111100111111111110011111111111110011111111111111111111111111001111101111111111111111111100111110111111111111111111110011111101111111111111111111001111110111111111111111111001111111101111111111111111100111111110011111111111111110011111111100011111111111111011111111111000011111111111011111111111110000011111111111111111111111100000011111111111111111111111000011111111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(69) = "1111111111111111111111111111111111111111111011111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111100111111100000000000000000000001111111111111100000111111111111111111111110000011111111111111111111110000001111111111111111111111000100111111111111111111111100110011111111111111111111100011001111111111111111111110011100111111111111111111110011110011111111111111111110011111001111111111111111111011111100111111111111111111011111110011111111111111111011111111001111111111111111011111111100111111111111111111111111110011111111111111111111111111001111111111111111111110111000111111111111111111111110000011111111111111111111111100011111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(70) = "1111111111111111111111111111111111100111111110111111111111111110011111111001111111111111111001111111100111111111111000000000110000000001111111111000011111111001111111111111100001111111000111111111111110000111111100011111111111111000010111100001111111111111001001001110000110111111111101100110110110011100111111101110011111111001110001111111111001111111100111100111111111100111111110011111111111111111110011111111111111111111111110001111111011111111111111110000000000000111111111111111001111111100011111111111111001111111100011111111111111011101111110011111111111111111110011110011111111111111111111001100011111111111111111111110100011111111111111111111111000111111111111111111111110011111111111111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(71) = "1111111111111111111111111111111111111111111111111111111111111011111111111111111111111111100000000000000001111111111110001111111111000111111111111000111111111100011111111111100011110011110001111111111110001111001111000111111111111000111100111100011111111111100011110011110001111111111110001111001111000111111111111000111000111100011111111111100011100111110001111111111110001110011111000111111111111000111001111100011111111111100011100000110001111111111111111100000111001111111111111111110010011111111111111111111111011001111111111111111111111001100111111111111111111111001110011111111111111111111101111000111111110111111111101111100011111110001111111011111110000000000000111111111111111110000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(72) = "1111111111111111111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111100111111110000000000000000000001111111111110000011111111111111111111110001001111111111111111111111001100111111111111111111111001110011101111111111111111001111001111001111111111111001111100111110000011111111111111110011111100000111111111101111111111001100111111111110000000000000111111111111111001111111110011111111111111100111111111001111111111111110011111111100111111111111111000000000000011111111111111100111111111001111111111111110011111111100111111111111111001111111110011111111111111100000000000001111111111111111111111111111111011111110000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(73) = "1111111111111111111111111111111111111111111111111111111111111111100111110001111111111111111110001111001111111111111111111000111101111110111111110000000000000000000001111111111111110001111111111111111111111111001111110111111111111000000000000000001111111111111111100111111111111111111111111110011111111111111111000000000000000000000000111111111111001111111111111111111111111001111111111111111111111111100111111111111111111111111100000000000000011111111111100001111111110011111111111110000111111111001111111111111100000000000000111111111111110001111111110011111111111111000111111111001111111111111100000000000000111111111111110001111111110011111111111111000111111111001111111111111100011111111100111111111111110000000000000011111111111111111111111111111111111111111111111111111111111111"
    vNumberData(74) = "1111111111111111111111111111111111111111111111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111000000000000000000011111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111100111111000000000000000000000001111111111111101111111111111111111111111100001111111111111111111111110001111111111111111111111110011111111111111111111111111011111111111111111111111111011111111101111111111111111011111111111001111111111110011111111111100011111111100000000000000111000111111111000000001111111100011111111100011111111111110001111111111111111111111111101111111111111111111111111111111111111111111111111111111111111"
    vNumberData(75) = "1111111111111111111111111111111111111111111111111111111111111111111111111111110111111110000000000000000000001111111100111111111111111111111111110011111111111111111111111111001111111111110111111111111100111111111111000111111111110011111111111100011111111111001111111111100011111111111100111111111110001111111111110011111110111001111111111111001111111100001111111111111100111111111000111111111111110011111111100001111111111111001111111100100011111111111100111111100111000111111111110011111100111100001111111111001111110111111000111111111100111111111111110001111111110011111111111111001111111111001111111111111111111111111100111111111111111110111111100000000000000000000001111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(76) = "1111111111111111111111111111111111111101111001111111111111111111110011100011111111111111111111001110001111111111111111111100111000111111111111111111110011100011111111111111111111001110001111011111111100000000000000000000011111110011110011100011110011111111001111001110001111001111111100111100111000111100111111110011110011100011110011111111000000000000000000001111111100111100111000111100111111110011110011100011110011111111001111001110001111001111111100111100111000111100111111110000000000000000000011111111001111001110001111001111111100111100111000111100111111110011110011100011110011111111001111001110001111001111111100111100111000111100111111110000000000000000000011111111001111111111111111001111111100111111111111111101111111111111111111111111111111111111111111111111111111111111"
    vNumberData(77) = "1111111111111111111111111111111111111111111111111111111111111000000000000000000011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111100000000000000000001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111110000000000000000000111111111111111111111001100111111111111111111111100111111111111111111111111110011111111111111111111111111001111101111110000000000000000000000011111111111111111110011111111111111110111111111001111111111111111100111111100111111111111111110001111110011111111111111111000111111001111111111111111100011111100111111111111111111111111110011111111111111111111110000001111111111111111111111110000111111111111111111111111000111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(78) = "1111111111111111111111111111111111111111111111111111111111111011111111111111001111111111100000000000000000011111111110001111111111110011111111111000111111111111001111111111100011111111111100111111111110000000000000000011111111111000111111111111001111111111100011111111111100111111111110001111111111110011111111111000111111111111000111111111100000000000000000011111111110011111000111110111111111111111111100011111111111111111111111110001111111110111111000000000000000000000001111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(79) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111001111110000000000000000000000011111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111001111110011110001111111111100000000001111000111111111110001111000111100011111111111000111100011110001111111111100011110001111000111111111110001111000111100011111111111000111100011110001111111111100011110001111000111111111110001111000111100011111111111000000000011110001111111111100011111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111000001111111111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(80) = "1111111111111111111111111111111111111111111111111111111111111111111000011111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111011111111111111111000000000000011111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111110111111100000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(81) = "1111111111111111111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111110111111110000000000000000000001111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111110111111110000000000000000000001111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111001111110000000000000000000000011111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100011111111111111111111111110001111111111111111111111111000111111111111111111111111100111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(82) = "1111111111111111111111111111111111111111111111110111111111111111111111110000001111111111111000000000000000011111111111111111111111111111111111111110111110111111001111111111111001111001111000111111111111100011100011100111111111111111001110011110111111111111011101111111110111101111111000000000000000000000011111000111111000011111110011111110111111100011111111011111111000000000000000000000011111111111110011111111111111111111111110011111111111111111111111111001111111100111111111111111001100000000001111111111111101111111100011111111111111101111011110011111111111111101111110100011111111111111101111111000011111111111111101111111100000111111111111111111111001111000000000111111111110111111110000000111111111101111111111111000111111111111111111111111111111111111111111111111111111111111"
    vNumberData(83) = "1111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111100000000000000111111111111111111111111001111111000000011111111111100111111100111001111111111110011111110011100111111101111001111111001110011000000001100111111100111001100111001110011111110011100110011100111001111111001110011001110011100111111100111001100111001110011111110011100110011100111001111111001110011001110011100111111100111001100111001110011111110000000110000000111001111111001111111001110011100111111101111111111111111110011111111111111111111111111001111111111111111111111111100111111111111111111111111110011111111111111111111111111001111111111111111111111110000111111111111111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
    vNumberData(84) = "1111111111111111111111111111111111111111111111111111111111111110111111111111111000111111111001111111111111100111111111100011111111111110011111111110001111111100111001111100000000000000110011100111111111111111111111001110011111111111111001111100111001111111111111000111110011100111111101111100011111001110011111111111110011111100111001111111110111001111110011100111111111101000111111001110011111111111000111111100111001111111111100011111110011100111111111110001111111001110011111111111000011111100111001111111111001000111110011100111111111101110011111001110011111111101111000111111111001111111101111100011111111100111111111111110001111111110011111111111111101111111000001111111111111111111111110000111111111111111111111111000111111111111111111111111111111111111111111111111111111111111"



    ' 随机产生字符
    Dim vCodes
    ReDim vCode(codeLen -1)
    For i = 0 To codeLen -1
        vCode(i) = Int(Rnd * cAmount)
        vCodes = vCodes & Mid(cCode, vCode(i) + 1, 1)
        vCode(i) = pcd_doubter(vNumberData(vCode(i)), UnitWidth, UnitHeight, DotsLimit, tryCount, dbtTimes)
    Next
    Session("psn") = vCodes '///////////记录入Session
    ' 输出图像文件头
    Response.BinaryWrite ChrB(66) & ChrB(77) & Num2ChrB(54 + UnitWidth * UnitHeight * CodeLen * 3, 4) & ChrB(0) & ChrB(0) &_
    ChrB(0) & ChrB(0) & ChrB(54) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(40) & ChrB(0) &_
    ChrB(0) & ChrB(0) & Num2ChrB(UnitWidth * CodeLen, 4) & Num2ChrB(UnitHeight, 4) &_
    ChrB(1) & ChrB(0)

    ' 输出图像信息头
    Response.BinaryWrite ChrB(24) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & Num2ChrB(UnitWidth * UnitHeight * CodeLen * 3, 4) &_
    ChrB(18) & ChrB(11) & ChrB(0) & ChrB(0) & ChrB(18) & ChrB(11) &_
    ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) & ChrB(0) &_
    ChrB(0) & ChrB(0)

    For i = UnitHeight -1 To 0 Step -1 ' 历经所有行
        For ii = 0 To codeLen -1 ' 历经所有字
            For iii = 1 To UnitWidth ' 历经所有像素
                If Rnd * 99 + 1 >= cOdds Then' 逐行、逐字、逐像素地输出图像数据
                    Response.BinaryWrite vColorData(Mid(vCode(ii), i * UnitWidth + iii, 1))
                Else ' 随机生成杂点
                    Response.BinaryWrite vColorData(1 - CInt(Mid(vCode(ii), i * UnitWidth + iii, 1)))
                End If
            Next
        Next
    Next
End Sub

Function pcd_doubter(Str, UnitWidth, UnitHeight, DotsLimit, tryCount, dbtTimes)
    Randomize
    Dim x1, x2, y1, y2, xOffSet, yOffSet, direction, flag, rows, step, yu, yuStr, i, ii, iii, f1, f2
    For f1 = 1 To dbtTimes'干扰次数
        For f2 = 1 To tryCount'避免删除有效点超过上限的尝试次数限制
            '随机确定2个端点
            x1 = Int(Rnd * UnitWidth)
            x2 = Int(Rnd * UnitWidth)
            y1 = Int(Rnd * UnitHeight)
            y2 = Int(Rnd * UnitHeight)
            'x,y位移量
            xOffSet = Abs(x2 - x1)
            yOffSet = Abs(y2 - y1)
            If xOffSet >= yOffSet Then'以位移量较大方做横轴
                direction = "x"
                ReDim ary(xOffSet)'用来记录连线各点y值
                'x2,y2存储x值较大的点
                If x2 < x1 Then
                    i = x1
                    x1 = x2
                    x2 = i
                    i = y1
                    y1 = y2
                    y2 = i
                End If
                '判断从x1->x2在纵轴方向上是增是减
                If y2 >= y1 Then
                    flag = 1
                Else
                    flag = -1
                End If
                '下面计算连线上点的分布（先是平均分配各行的点，然后随机分配剩余的点到各行）
                rows = yOffSet + 1'所占行数
                step = (xOffSet + 1) \ rows'各行平均分配的点
                yu = (xOffSet + 1) Mod rows'剩余的点数
                ReDim ary2(rows -1)'用来记录剩余点的随机分配
                While yu > 0
                    i = Int(Rnd * rows)
                    ary2(i) = ary2(i)&"."'被分配到的行则加一个字符"."
                    yu = yu - 1
                Wend
                iii = 0
                '将连线的点信息记录到数组
                For i = 0 To rows -1
                    For ii = 1 To step + Len(ary2(i))
                        ary(iii) = y1 + i * flag
                        iii = iii + 1
                    Next
                Next
                ii = 0
                '统计连线上有效点的数量
                For i = 0 To xOffSet
                    If pcd_getDot(x1 + i, ary(i), Str, UnitWidth) = "0" Then ii = ii + 1
                Next
            Else
                '这里是以y为横轴，原理与x时相同
                direction = "y"
                ReDim ary(yOffSet)
                If y2 < y1 Then
                    i = x1
                    x1 = x2
                    x2 = i
                    i = y1
                    y1 = y2
                    y2 = i
                End If
                If x2 >= x1 Then
                    flag = 1
                Else
                    flag = -1
                End If
                rows = xOffSet + 1
                step = (yOffSet + 1) \ rows
                yu = (yOffSet + 1) Mod rows
                ReDim ary2(rows -1)
                While yu > 0
                    i = Int(Rnd * 10)
                    If i < rows Then
                        ary2(i) = ary2(i)&"."
                        yu = yu - 1
                    End If
                Wend
                iii = 0
                For i = 0 To rows -1
                    For ii = 1 To step + Len(ary2(i))
                        ary(iii) = x1 + i * flag
                        iii = iii + 1
                    Next
                Next
                ii = 0
                For i = 0 To yOffSet
                    If pcd_getDot(ary(i), y1 + i, Str, UnitWidth) = "0" Then ii = ii + 1
                Next
            End If
            '如未超过有效点上限则跳出循环，执行干扰
            If ii <= DotsLimit Then Exit For
        Next

        If direction = "x" Then
            '随机确定在纵轴方向上或下进行移动
            If Int(Rnd * 10) > 4 Then
                '变量连线上的点
                For i = 0 To xOffSet
                    '遍历移动
                    For ii = ary(i) To 1 Step -1
                        Call pcd_setDot(x1 + i, ii, Str, pcd_getDot(x1 + i, ii -1, Str, UnitWidth), UnitWidth)
                    Next
                    '添补空白
                    Call pcd_setDot(x1 + i, 0, Str, "1", UnitWidth)
                Next
            Else
                For i = 0 To xOffSet
                    For ii = ary(i) To UnitHeight -2
                        Call pcd_setDot(x1 + i, ii, Str, pcd_getDot(x1 + i, ii + 1, Str, UnitWidth), UnitWidth)
                    Next
                    Call pcd_setDot(x1 + i, UnitHeight -1, Str, "1", UnitWidth)
                Next
            End If
        Else
            If Int(Rnd * 10) > 4 Then
                For i = 0 To yOffSet
                    For ii = ary(i) To 1 Step -1
                        Call pcd_setDot(ii, y1 + i, Str, pcd_getDot(ii -1, y1 + i, Str, UnitWidth), UnitWidth)
                    Next
                    Call pcd_setDot(0, y1 + i, Str, "1", UnitWidth)
                Next
            Else
                For i = 0 To yOffSet
                    For ii = ary(i) To UnitWidth -2
                        Call pcd_setDot(ii, y1 + i, Str, pcd_getDot(ii + 1, y1 + i, Str, UnitWidth), UnitWidth)
                    Next
                    Call pcd_setDot(UnitWidth -1, y1 + i, Str, "1", UnitWidth)
                Next
            End If
        End If
    Next
    pcd_doubter = Str
End Function

Rem 得到某点的字符

Function pcd_getDot(x, y, Str, UnitWidth)
    pcd_getDot = Mid(Str, x + 1 + y * UnitWidth, 1)
End Function

Rem 设置某点的字符

Sub pcd_setDot(x, y, ByRef Str, newDot, UnitWidth)
    Str = Left(Str, x + y * UnitWidth) & newDot & Right(Str, Len(Str) - x - y * UnitWidth -1)
End Sub

Rem 将数字转为bmp需要的格式 lens是目标字节长度

Function Num2ChrB(num, lens)
    Dim ret, i
    ret = ""
    While (num>0)
        ret = ret & ChrB(num Mod 256)
        num = num \ 256
    Wend
    For i = Lenb(ret) To lens -1
        ret = ret & chrB(0)
    Next
    Num2ChrB = ret
End Function
%>
